iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
DevOps

連DevSecOps都不知道怎麼發音怎麼開始學習?系列 第 24

Day.24 把數字變成血條 UI:Grafana 入門

  • 分享至 

  • xImage
  •  

前言

昨天我們讓服務學會了「出事大喊」(Prometheus + Alertmanager)。
不過你有沒有發現,光靠告警有時候還不夠?

想像一下打 MMORPG,補師只會在血量 < 30% 時大喊:「補血補血!」
這雖然有效,但打王打到一半,你完全不知道全隊血量、藍條狀況,壓力還不是爆炸?

今天的主角就是 Grafana
它的任務很單純:把冷冰冰的數字變成一張張圖表,讓你一眼看出服務健康狀態

Prometheus 給你 Excel 表格,Alertmanager 給你鬧鐘,Grafana 則給你遊戲介面上的「血條 UI」。

為什麼需要 Grafana?

監控的世界就像玩團隊副本,光有單一訊號其實不夠。

  • Prometheus:紀錄所有數字,但畫面就是一份流水帳。
    → 像戰鬥紀錄檔(Log)。
  • Alertmanager:只在閾值被踩爆時才提醒你。
    → 像團隊語音裡的補師吼:「快補血!」
  • Grafana:把這些數字畫成圖表,讓你隨時看到趨勢。
    → 像遊戲裡 UI 顯示血條、藍條、技能冷卻,整體戰況一目了然。

這三者不是替代,而是互補
數字 → 告警 → 圖像,這才是完整的觀測體驗。

安裝 Grafana

先用 Docker Compose 把 Grafana 拉起來

  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    volumes:
      - grafana-data:/var/lib/grafana
    networks: [web]

https://ithelp.ithome.com.tw/upload/images/20250906/20178142z1ytaKC5Q6.png

https://ithelp.ithome.com.tw/upload/images/20250906/20178142hDIP3kVnP9.png
到這裡 Grafana 就跟 Prometheus 接上線,能開始畫圖了。

記得在下面補 volume

volumes:
  caddy_data:
  caddy_config:
  grafana-data:   # 這裡要補上

這樣 docker-compose 才知道要建立一個名叫 grafana-data 的 volume

打造第一個 Dashboard

接下來來做一個最經典的 Panel:HTTP 請求數量

  1. 新建 DashboardAdd visualization
    https://ithelp.ithome.com.tw/upload/images/20250906/20178142Gek1oM9lSG.png
  2. Query 選擇 http_requests_total
    https://ithelp.ithome.com.tw/upload/images/20250906/20178142deR44t1PTB.png
  3. 改成折線圖,看請求隨時間成長
    https://ithelp.ithome.com.tw/upload/images/20250906/20178142RGpmnq4u5T.png
  4. 點開瀏覽器重整網頁,再回去看線條跳動
    https://ithelp.ithome.com.tw/upload/images/20250906/20178142OVLAq1ZA3u.png

這個畫面,代表你的監控正式活了

Prometheus 把數字存在倉庫Grafana 就是把那些數字搬上 UI 面板
沒了它,你只能一行一行讀數字;有了它,你能像玩家看血條那樣輕鬆掌握狀況。

Grafana 與 Alert 的互補

有人會問:「有了 Grafana,還需要 Alertmanager 嗎?」
答案是:一定要。

  • Grafana:給你長期趨勢,平時看全局狀態。
  • Alertmanager:給你即時警告,出事立刻叫醒你。

舉例來說:

  • Grafana 告訴你「最近延遲慢慢在爬升」,像看到血條一直往下掉。
  • Alertmanager 則是「延遲超過 5 秒,快補血!」,直接叫醒值班的人。

一個是戰況地圖,一個是緊急警報,缺一不可。

結論

昨天我們做到了「出事會大喊」,今天我們更進一步,能「平時就看見全局」。

Grafana 把 DevSecOps 的監控,從「數字」進化成「圖像化」
就像副本 UI 裝上血條、藍條、技能冷卻,團隊才能安心輸出,不會到滅團才發現全員殘血。

Prometheus → Alertmanager → Grafana
三位一體,才是完整的 Observability 起手式。


上一篇
Day.23 活著還不夠:從 Metrics 到 Alert,讓系統自己喊救命
下一篇
Day.25 線上服務不中斷的秘密:藍綠部署入門
系列文
連DevSecOps都不知道怎麼發音怎麼開始學習?25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言